package mod

import "sync/atomic"

// RoomID 房间
type Room struct {
	// 房间编号
	ID string
	// 用户集合
	Users map[string]*User
	// 房间类型,对应用户的聊天模式
	Type uint8
	// 话题
	Topic string
	// 房间是否满了
	IsFull bool
	// 房间人数
	Count *int32
}

// UserCountCut 房间人数 -1
func (r *Room) UserCountCut() {
	atomic.AddInt32(r.Count, -1)
}

// UserCountAdd 房间人数 +1
func (r *Room) UserCountAdd() {
	atomic.AddInt32(r.Count, 1)
}

// GetUserCount 获取房间人数
func (r *Room) GetUserCount() int32 {
	return atomic.LoadInt32(r.Count)
}
